/*
 * *******************************************************************
 *   @项目名称: BHex Android
 *   @文件名称: FuturesCreateOrderConfig.java
 *   @Date: 19-6-20 下午8:16
 *   @Author: ppzhao
 *   @Description:
 *   @Copyright（C）: 2019 BlueHelix Inc.   All rights reserved.
 *   注意：本内容仅限于内部传阅，禁止外泄以及用于其他的商业目的.
 *  *******************************************************************
 */

package io.bhex.sdk.trade.bean;

import java.io.Serializable;
import java.util.List;

import io.bhex.baselib.network.response.BaseResponse;
import io.bhex.sdk.quote.bean.RiskLimitBean;

public class FuturesCreateOrderConfig extends BaseResponse {

    /**
     * symbolId : BT0412CS5000
     * orderFee : {"takerFeeRate":"0.001","makerFeeRate":"0.001"}
     * orderSetting : {"isPassiveOrder":true,"timeInForce":"IOC","isConfirm":true}
     * riskLimit : [{"side":"BUY_OPEN","riskLimitId":"10000001","riskLimitAmount":"100","maintainMargin":"0.03","initialMargin":"0.1"}]
     */

    private String symbolId;//期货symbol id
    private OrderFeeBean orderFee;//用户下单费率
    private OrderSettingBean orderSetting;
    private List<RiskLimitBean> riskLimit;

    public String getSymbolId() {
        return symbolId;
    }

    public void setSymbolId(String symbolId) {
        this.symbolId = symbolId;
    }

    public OrderFeeBean getOrderFee() {
        return orderFee;
    }

    public void setOrderFee(OrderFeeBean orderFee) {
        this.orderFee = orderFee;
    }

    public OrderSettingBean getOrderSetting() {
        return orderSetting;
    }

    public void setOrderSetting(OrderSettingBean orderSetting) {
        this.orderSetting = orderSetting;
    }

    public List<RiskLimitBean> getRiskLimit() {
        return riskLimit;
    }

    public void setRiskLimit(List<RiskLimitBean> riskLimit) {
        this.riskLimit = riskLimit;
    }

    /**
     * 用户下单费率
     */
    public static class OrderFeeBean implements Serializable {
        /**
         * takerFeeRate : 0.001  //期货taker费率（例子：0.001 表示是"千分之一"的费率）
         * makerFeeRate : 0.001  //期货maker费率（例子：0.001 表示是"千分之一"的费率）
         */

        private String takerFeeRate;
        private String makerFeeRate;

        public String getTakerFeeRate() {
            return takerFeeRate;
        }

        public void setTakerFeeRate(String takerFeeRate) {
            this.takerFeeRate = takerFeeRate;
        }

        public String getMakerFeeRate() {
            return makerFeeRate;
        }

        public void setMakerFeeRate(String makerFeeRate) {
            this.makerFeeRate = makerFeeRate;
        }
    }

    /**
     * 用户下单设置
     */
    public static class OrderSettingBean {
        /**
         * isPassiveOrder : true
         * timeInForce : IOC
         * isConfirm : true
         */

        //被动委托或取消。1：启用，0：禁用
        private boolean isPassiveOrder;
        //生效时间选项。GTC=取消前有效，FOK=全数执行或立即取消，IOC=立刻执行或取消
        private String timeInForce;
        //是否启用下单弹窗确认。1：启用，0：禁用
        private boolean isConfirm;

        public boolean isIsPassiveOrder() {
            return isPassiveOrder;
        }

        public void setIsPassiveOrder(boolean isPassiveOrder) {
            this.isPassiveOrder = isPassiveOrder;
        }

        public String getTimeInForce() {
            return timeInForce;
        }

        public void setTimeInForce(String timeInForce) {
            this.timeInForce = timeInForce;
        }

        public boolean isIsConfirm() {
            return isConfirm;
        }

        public void setIsConfirm(boolean isConfirm) {
            this.isConfirm = isConfirm;
        }
    }

}
